Wireless communication devices, such as smart phones, have traditionally been configured to utilize Universal Integrated Circuit Cards (UICCs) that provide access to wireless network services. A UICC typically takes the form of a small removable card (e.g., a Subscriber Identity Module (SIM) card) that is inserted into a wireless communication device. In most cases, each UICC is associated with a single “Issuer”—such as a mobile network operator (MNO)—that controls the programming and distribution of the UICC.
In more recent implementations, non-removable UICCs—referred to herein as embedded UICCs (eUICCs)—are being included on system boards of wireless communication devices. These eUICCs are distinct from the traditional removable UICCs in that the eUICCs are non-removable and soldered to the system boards of wireless communication devices. In some cases, an eUICC can be programmed with one or more eSIMs, each of which can emulate and replicate the architecture of a typical SIM to enable a wireless communication device (including the eUICC) to access services provided by different MNOs.
Notably, the use of eUICCs and eSIMs can offer significant advantages over traditional/removable UICCs. For example, the use of an eUICC can provide wireless communication device manufacturers with increased flexibility in design due to the lack of a requirement to accommodate the size and form factor of a removable SIM card. As a further example, the ability to remotely provision (e.g., over-the-air) eSIMs can provide convenience for consumers and vendors when configuring a wireless communication device to access a mobile network operator's network.
Notably, traditional approaches for securely preparing and provisioning eSIMs to eUICCs fail to address scalability issues. In particular, situations in which a provisioning server is tasked with concurrently provisioning eSIMs to a large number (e.g., on the order of millions) of eUICCs involves carrying out real-time encryption of each eSIM with a key that is specific to a target eUICC to which the eSIM is being provisioned. This approach prevents the ability to encrypt eSIMs prior to provisioning sessions with target eUICCs as the keys specific to the target eUICCs are not accessible to the provisioning server until the target eUICCs are brought online. The overhead required to perform the key derivation and encrypt the eSIM in real-time during provisioning sessions is problematic in terms of system scalability during periods in which the provisioning service is concurrently provisioning eSIMs to several eUICCs, such as around the time of a release of a new wireless communication device.